package robocup.component.worldobjects;

import robocup.component.geometry.Vektor;

/**
 * A Flag is a static marker on the field (or around), that is used to orient,
 * because its poition can be inferred by its id.
 */
public class Flag
    extends StaticObject {

  /**
   * The unique id of the flag.
   */
  private int id;

  /**
   * Constructor - creates a new static object as flag, which has a certain
   * position (defined in the server), that can be used to orientate on the
   * field
   * 
   * @param iCycle -
   *          time, when the flag was seen last
   * @param iId -
   *          the flags id
   * @param iPosAbs -
   *          the flags absolute position
   */
  public Flag(
      final int iCycle,
      final int iId,
      final Vektor iPosAbs) {

    super(iCycle, -1, iPosAbs);
    this.id = iId;
  } // end of constructor Flag(int iCycle, int iId, Vektor iPosAbs)

  /**
   * Returns the id of the flag.
   * 
   * @return id
   */
  public final int getId() {

    return this.id;
  } // end of method getId()
} // end of class getId
